// const WebSocket = require('ws')

// const server = new WebSocket.Server({ port: 8080,path: '/group'})

// server.on('open', function open() {
//   console.log('connected')
// })

// server.on('close', function close() {
//   console.log('disconnected')
// })

// server.on('connection', function connection(ws, req) {
//   const ip = req.socket.remoteAddress
//   const port = req.socket.remotePort
//   const clientName = ip + port
//   ws.send('Welcome ' + clientName)

//   ws.on('message', function incoming(message) {
//     server.clients.forEach(function each(client) {
//       console.log(clientName + ' -> ' + message)
//       client.send(clientName + ' -> ' + message)
//     })
//   })
// })

// 创建 WebSocket 服务器
const wss = new WebSocket.Server({ port: 6666 })

wss.on('connection', (ws, req) => {
    console.log('有客户端尝试连接')

    // 获取查询参数中的验证信息
    const url = new URL(req.url, `http://${req.headers.host}`)
    const token = url.searchParams.get('token')

    // 简单的验证逻辑，假设验证信息为 "secret"
    if (token !== 'secret') {
        console.log('验证失败')
        ws.close(1008, '验证失败')
        return
    }

    console.log('验证成功')
    ws.send('验证成功，欢迎连接！')

    // 处理消息
    ws.on('message', (message) => {
        console.log(`收到消息: ${message}`)
        // 在这里处理客户端发送的消息
    })

    // 处理连接关闭
    ws.on('close', () => {
        console.log('客户端断开连接')
    })

    // 处理错误
    ws.on('error', (err) => {
        console.error('WebSocket 错误:', err.message)
    })
})
